1. Technical Field
The present invention relates in general to a method and system for interfacing a computing resource coupled to a remotely located network with an application running within a data processing system, via a dynamic communication channel, and in particular to a method and system for enabling local area network (LAN) applications to communicate with remote computing resources via the public switched telephone network (PSTN) without modification of the LAN applications and existing multilayer protocol stacks.
2. Description of the Related Art
A computer network, which may also be called a distributed data processing system, comprises a set of communication channels interconnecting a set of computing devices or nodes that have the ability to communicate with one another. The nodes may be data processing systems, computers, terminals, workstations, communication units such as modems and bridges, or peripheral devices such as printers, output devices, or scanners. Such nodes communicate via communication channels, which may utilize a variety of transmission media. Some examples of commonly utilized transmission media include optical fibers, co-axial cable, twisted-pair wires, infrared radiation, or electromagnetic radiation, as utilized in satellite links and digital microwave radio. Such nodes may be distributed over a wide area (distances of hundreds or thousands of miles) or over a local area (distances of a hundred feet to several miles), in which case the networks are called wide area networks (WANs) or local area networks (LANs), respectively.
For many years, data processing system users have recognized and enjoyed the benefits of sharing data among data processing systems, and accessing computer resources connected to the local area network (LAN), such as other data processing systems, printers, input/output devices, and communication devices such as modems or bridges. Recently, it has become necessary to provide a communication channel between such local area networks and a remote data processing system, such as a portable computer, via a dynamic communication channel. This dynamic communication channel may be characterized by its transient nature (i.e., the ability to establish and disconnect at will) and the ability to change physical media or hardware each time such a communication channel is established.
One example of a dynamic communication channel is a public switched telephone network (PSTN). A data processing system user may establish and disconnect a communication channel via the public switched telephone network at any time, and, if multiple communication ports are available within the user's data processing system, the user may choose through which communication port the dynamic communication channel is established. Furthermore, the user may choose to establish different communication channels at different times, or establish multiple communication channels at the same time, all of which may be accomplished by instructing the data processing system and the associated communications hardware (i.e., a modem) to call and connect with various networks. The problem with such versatility in establishing dynamic communication channels is that standard local area networks and local area network applications are not designed to accommodate the dynamic nature of the dynamic communications channel.
Within the local area network, data processing systems and computer resources connected to the local area network utilize standard protocols, implemented utilizing standard architectures, for data communication. These local area network architecture standards are employed because such standards allow different software and hardware providers to manufacture products that are compatible with one another, and that work together to connect data processing systems. One such standard architecture is NDIS (Network Drive Interface Specification), which is utilized in DOS, Windows, and OS/2 environments. The NDIS environment/architecture was jointly developed by Microsoft Corporation and 3Com, and is a popular implementation of the IEEE (Institute of Electrical and Electronic Engineers) LAN architecture. Persons skilled in the art will recognize that several other standard architectures are available for implementing local area networks.
Although such local area network architecture standards have increased the compatibility of software and hardware products, these LAN standards have a serious drawback for users who wish to connect to a remote LAN via a dynamic communications channel, such as the PSTN. That drawback is that these LAN standards are normally designed to operate in a static environment. For example, once a network has been established, applications operating in that network expect relationships between hardware, physical media, and software to remain constant or static. Such relationships include relationships between: LAN applications and LAN protocol stacks; LAN protocol stacks and logical adapter numbers; logical adapter numbers and media access controls; media access controls and LAN addresses; LAN addresses and LAN adapters; LAN adapters and LAN wires or physical media; LAN wires or physical media and LAN networks; and LAN networks and LAN nodes.
Many of the relationships described above are created through a "binding" process during network initialization. Once the binding process is complete, a change in a relationship between entities is disruptive to the LAN applications and network operations in general. Additionally, LAN applications typically are not designed to handle a communications channel that may be established or disconnected at any time, and which may be established utilizing different addresses or ports in each instance. Also, LAN applications typically are not designed to control the myriad hardware devices which may be provided to establish communication via a dynamic communication channel.
Therefore, it should be apparent that a need exists for a method and system for enabling LAN applications to communicate with a remote computing resource connected to a remotely located local area network via a dynamic communications channel.